mssql

推荐列表 站点导航

当前位置:首页 > 数据库 > mssql >

SQL Server 日期相关资料详细介绍

来源:网络整理  作者:网络  发布时间:2020-12-10 01:09
对于开发人员来说,日期处理或许简单,或许很难。结合自己过往的开发经验并整合网上的例子,总结出一些日期相...

一、日期类型:

格式

4

精确度

SYSUTCDATETIME ( )

返回包含计算机的日期和时间的 datetimeoffset(7) 值,SQL Server 的实例正在该计算机上运行。

8 到 10

YYYY-MM-DD hh:mm:ss[.

8

nnnnnnn]

nnn]

0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.9999999(以 UTC 时间表示)

1900-01-01 到 2079-06-06

6 到 8

YYYY-MM-DD hh:mm:ss[.

3

不具有确定性

100 纳秒

日期和时间作为 UTC 时间(通用协调时间)返回。

date

返回包含计算机的日期和时间的 datetime2(7) 值,SQL Server 的实例正在该计算机上运行。

smalldatetime

1753-01-01 到 9999-12-31

数据类型

二、日期函数:日期函数是处理日期的基础,牢记日期函数能减少很多编程工作

SYSUTCDATETIME

0001-01-01 到 9999-12-31

100 纳秒

用户定义的秒的小数精度

00:00:00.0000000 到 23:59:59.9999999

100 纳秒

确定性

datetime2(7)

YYYY-MM-DD hh:mm:ss

YYYY-MM-DD hh:mm:ss[.

所以这里就能体现出“设计”的重要性。

nnnnnnn]

0.00333 秒

1 天

返回值

返回包含计算机的日期和时间的 datetime2(7) 值,SQL Server 的实例正在该计算机上运行。

每一种日期类型有其使用范围,当然以刚好适用为最佳选择,切记不要为了方便,什么都用datetime类型。从性能方面会有很大影响,举个例子:

不具有确定性

存储大小(以字节为单位)

hh:mm:ss[.

注意:所有系统日期和时间值均得自运行 SQL Server 实例的计算机的操作系统。

SYSDATETIME

YYYY-MM-DD

datetime

语法

1 分钟

nnnnnnn] [+|-]hh:mm

时区偏移量

不具有确定性

精度较高的系统日期和时间函数

datetimeoffset(7)

3 到 5

0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.9999999

时区偏移量包含在内。

对于SQL Server 2008 来说(因为2000甚至2005已经稍微有被淘汰的迹象,所以在此不作过多说明,加上自己工作使用的是2008R2。所以不保证08以前的能用),日期类型有:

datetime2(7)

SYSDATETIME ()

返回数据类型

一个表,有1亿行的数据,有10列日期型(对于一些历史表来说这是完全有可能的)。如果全部使用datetime,那么光这部分的存储空间就是:10*100000000*8字节/(1024*1024)≈7629M≈7.4G,当然,如果有这样的需要,再大也还是要用的,假设其实业务上不需要那么精确(因为datetime是精确到0.00333秒),只需要精确到1分钟即可,那么毫不犹豫使用smalldatetime,可以减少一半的空间,也就是大约3.7G。减少空间的好处有很多,比如备份及数据库文件的大小可以减少,让有限的预算做更多的事情。而且数据页固定8KB,越少的体积单页能存放的数据也就越多,查询时要访问的页面就更少,缓解I/O压力。同时对索引的使用也更有效,等等。

范围

datetimeoffset

SYSDATETIMEOFFSET ( )

time

时区偏移量未包含在内。

datetime2

SYSDATETIMEOFFSET

函数

精确程度取决于运行 SQL Server 实例的计算机硬件和 Windows 版本。标注有:2012有效的是只有2012才出现的功能

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/sql/mssql/1990.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

SQL Server 日期相关资料详细介绍

2020-12-10 编辑:网络

一、日期类型:

格式

4

精确度

SYSUTCDATETIME ( )

返回包含计算机的日期和时间的 datetimeoffset(7) 值,SQL Server 的实例正在该计算机上运行。

8 到 10

YYYY-MM-DD hh:mm:ss[.

8

nnnnnnn]

nnn]

0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.9999999(以 UTC 时间表示)

1900-01-01 到 2079-06-06

6 到 8

YYYY-MM-DD hh:mm:ss[.

3

不具有确定性

100 纳秒

日期和时间作为 UTC 时间(通用协调时间)返回。

date

返回包含计算机的日期和时间的 datetime2(7) 值,SQL Server 的实例正在该计算机上运行。

smalldatetime

1753-01-01 到 9999-12-31

数据类型

二、日期函数:日期函数是处理日期的基础,牢记日期函数能减少很多编程工作

SYSUTCDATETIME

0001-01-01 到 9999-12-31

100 纳秒

用户定义的秒的小数精度

00:00:00.0000000 到 23:59:59.9999999

100 纳秒

确定性

datetime2(7)

YYYY-MM-DD hh:mm:ss

YYYY-MM-DD hh:mm:ss[.

所以这里就能体现出“设计”的重要性。

nnnnnnn]

0.00333 秒

1 天

返回值

返回包含计算机的日期和时间的 datetime2(7) 值,SQL Server 的实例正在该计算机上运行。

每一种日期类型有其使用范围,当然以刚好适用为最佳选择,切记不要为了方便,什么都用datetime类型。从性能方面会有很大影响,举个例子:

不具有确定性

存储大小(以字节为单位)

hh:mm:ss[.

注意:所有系统日期和时间值均得自运行 SQL Server 实例的计算机的操作系统。

SYSDATETIME

YYYY-MM-DD

datetime

语法

1 分钟

nnnnnnn] [+|-]hh:mm

时区偏移量

不具有确定性

精度较高的系统日期和时间函数

datetimeoffset(7)

3 到 5

0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.9999999

时区偏移量包含在内。

对于SQL Server 2008 来说(因为2000甚至2005已经稍微有被淘汰的迹象,所以在此不作过多说明,加上自己工作使用的是2008R2。所以不保证08以前的能用),日期类型有:

datetime2(7)

SYSDATETIME ()

返回数据类型

一个表,有1亿行的数据,有10列日期型(对于一些历史表来说这是完全有可能的)。如果全部使用datetime,那么光这部分的存储空间就是:10*100000000*8字节/(1024*1024)≈7629M≈7.4G,当然,如果有这样的需要,再大也还是要用的,假设其实业务上不需要那么精确(因为datetime是精确到0.00333秒),只需要精确到1分钟即可,那么毫不犹豫使用smalldatetime,可以减少一半的空间,也就是大约3.7G。减少空间的好处有很多,比如备份及数据库文件的大小可以减少,让有限的预算做更多的事情。而且数据页固定8KB,越少的体积单页能存放的数据也就越多,查询时要访问的页面就更少,缓解I/O压力。同时对索引的使用也更有效,等等。

范围

datetimeoffset

SYSDATETIMEOFFSET ( )

time

时区偏移量未包含在内。

datetime2

SYSDATETIMEOFFSET

函数

精确程度取决于运行 SQL Server 实例的计算机硬件和 Windows 版本。标注有:2012有效的是只有2012才出现的功能

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/sql/mssql/1990.shtml

相关文章

风云图片

推荐阅读

返回mssql频道首页